package com.ruibo.tax.model;

import com.ruibo.tax.model.base.ReceiptBase;
import lombok.ToString;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

import javax.persistence.*;
import javax.xml.bind.annotation.*;
import java.util.Set;


//import javax.persistence.Entity;
//import javax.persistence.Table;
//

/**
 * @description: 税务复核提请文书（主）
 * @author: 任文聪
 * @time: 2020/10/15 10:15
 */

@Entity
@ToString
@Table(name = "swhb_swfhtq")
@XmlRootElement(name = "Record")
public class FHTQXX extends ReceiptBase {
    //主键

    private String UUID;
    //复核提请文书唯一序号
    private String FHTQWSWYXH;
    //文书字轨字号
    private String WSZGZH;
    //接收复核环保机构编码
    private String JSFHHBJGBM;
    //纳税人名称
    private String NSRMC;
    //统一社会信用代码
    private String TYSHXYDM;
    //组织机构代码
    private String ZZJGDM;
    //营业执照号码
    private String YYZZHM;
    //行业类别
    private String HYLB;
    //复核事由
    private String FHSY;
    //存在异常情形描述
    private String CZYCQXMS;
    //依据
    private String YJ;
    //复核申请时间段起
    private String FHSQSJDQ;
    //复核申请时间段止
    private String FHSQSJDZ;
    //需要复核的具体事项
    private String XYFHDJTSX;
    //文书制作机关
    private String WSZZJG;
    //文书制作日期
    private String WSZZRQ;
    //文书接收机关（环保）
    private String WSJSJGHB;
    //文书接收人
    private String WSJSR;
    //文书接收日期
    private String WSJSRQ;
    //文书传递机关（税务）
    private String WSCDJGSW;
    //文书送达人（税务）
    private String WSSDRSW;
    //文书送达日期
    private String WSSDRQ;
    //备注
    private String BZ;
    @Fetch(FetchMode.SUBSELECT)
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @XmlElementWrapper(name = "SWFHTQZBXX")
    @XmlElement(name = "SWFHTQZB")
    private Set<SWFHTQZB> SWFHTQZBXX;

    public String getUUID() {
        return UUID;
    }

    public void setUUID(String UUID) {
        this.UUID = UUID;
    }

    public String getFHTQWSWYXH() {
        return FHTQWSWYXH;
    }

    public void setFHTQWSWYXH(String FHTQWSWYXH) {
        this.FHTQWSWYXH = FHTQWSWYXH;
    }

    public String getWSZGZH() {
        return WSZGZH;
    }

    public void setWSZGZH(String WSZGZH) {
        this.WSZGZH = WSZGZH;
    }

    public String getJSFHHBJGBM() {
        return JSFHHBJGBM;
    }

    public void setJSFHHBJGBM(String JSFHHBJGBM) {
        this.JSFHHBJGBM = JSFHHBJGBM;
    }

    public String getNSRMC() {
        return NSRMC;
    }

    public void setNSRMC(String NSRMC) {
        this.NSRMC = NSRMC;
    }

    public String getTYSHXYDM() {
        return TYSHXYDM;
    }

    public void setTYSHXYDM(String TYSHXYDM) {
        this.TYSHXYDM = TYSHXYDM;
    }

    public String getZZJGDM() {
        return ZZJGDM;
    }

    public void setZZJGDM(String ZZJGDM) {
        this.ZZJGDM = ZZJGDM;
    }

    public String getYYZZHM() {
        return YYZZHM;
    }

    public void setYYZZHM(String YYZZHM) {
        this.YYZZHM = YYZZHM;
    }

    public String getHYLB() {
        return HYLB;
    }

    public void setHYLB(String HYLB) {
        this.HYLB = HYLB;
    }

    public String getFHSY() {
        return FHSY;
    }

    public void setFHSY(String FHSY) {
        this.FHSY = FHSY;
    }

    public String getCZYCQXMS() {
        return CZYCQXMS;
    }

    public void setCZYCQXMS(String CZYCQXMS) {
        this.CZYCQXMS = CZYCQXMS;
    }

    public String getYJ() {
        return YJ;
    }

    public void setYJ(String YJ) {
        this.YJ = YJ;
    }

    public String getFHSQSJDQ() {
        return FHSQSJDQ;
    }

    public void setFHSQSJDQ(String FHSQSJDQ) {
        this.FHSQSJDQ = FHSQSJDQ;
    }

    public String getFHSQSJDZ() {
        return FHSQSJDZ;
    }

    public void setFHSQSJDZ(String FHSQSJDZ) {
        this.FHSQSJDZ = FHSQSJDZ;
    }

    public String getXYFHDJTSX() {
        return XYFHDJTSX;
    }

    public void setXYFHDJTSX(String XYFHDJTSX) {
        this.XYFHDJTSX = XYFHDJTSX;
    }

    public String getWSZZJG() {
        return WSZZJG;
    }

    public void setWSZZJG(String WSZZJG) {
        this.WSZZJG = WSZZJG;
    }

    public String getWSZZRQ() {
        return WSZZRQ;
    }

    public void setWSZZRQ(String WSZZRQ) {
        this.WSZZRQ = WSZZRQ;
    }

    public String getWSJSJGHB() {
        return WSJSJGHB;
    }

    public void setWSJSJGHB(String WSJSJGHB) {
        this.WSJSJGHB = WSJSJGHB;
    }

    public String getWSJSR() {
        return WSJSR;
    }

    public void setWSJSR(String WSJSR) {
        this.WSJSR = WSJSR;
    }

    public String getWSJSRQ() {
        return WSJSRQ;
    }

    public void setWSJSRQ(String WSJSRQ) {
        this.WSJSRQ = WSJSRQ;
    }

    public String getWSCDJGSW() {
        return WSCDJGSW;
    }

    public void setWSCDJGSW(String WSCDJGSW) {
        this.WSCDJGSW = WSCDJGSW;
    }

    public String getWSSDRSW() {
        return WSSDRSW;
    }

    public void setWSSDRSW(String WSSDRSW) {
        this.WSSDRSW = WSSDRSW;
    }

    public String getWSSDRQ() {
        return WSSDRQ;
    }

    public void setWSSDRQ(String WSSDRQ) {
        this.WSSDRQ = WSSDRQ;
    }

    public String getBZ() {
        return BZ;
    }

    public void setBZ(String BZ) {
        this.BZ = BZ;
    }

    @XmlTransient
    public Set<SWFHTQZB> getSWFHTQZBXX() {
        return SWFHTQZBXX;
    }

    public void setSWFHTQZBXX(Set<SWFHTQZB> SWFHTQZBXX) {
        this.SWFHTQZBXX = SWFHTQZBXX;
    }
}
